package Componentes;

import javax.swing.ImageIcon;

import Graficos.ComponenteGrafico;
import Graficos.Personaje;

/**
 * ProyectoX TDP 2011
 * @author  Ma Gimena Ramos- LU:82716
 * @autor Brenda Dilschneider- LU: 92774
 *
 */

public class BombaNuclear extends Power_Up implements Runnable {
private Thread hilo;

/**
 * constructor
 */
	public BombaNuclear(){
		puntaje= -45;
		hilo= new Thread(this);
		 comp=  new ComponenteGrafico(new ImageIcon(getClass().getClassLoader().getResource("Dibujos/BombaN.png")),41,34);
			this.setGrafico(comp);
	}
	
	/**
	 * metodo abstracto de la clase Componente redefinido sin uso
	 */
	public void chocarMario(Personaje mario){
		
	}
	
	/**
	 * metodo abstracto de la clase Componente redefinido sin uso
	 */
	@Override
	public void arrancarHilo() {
		hilo.start();
		mario.obtenerPartida().aumentarPuntaje(puntaje);
	}
	@Override
	public void pisadoPorMario() {

		
	}
	
	/**
	 * metodo abstracto de la clase Componente redefinido sin uso
	 */
	@Override
	public void destruirHilo() {
		
		
	}
	/**
	 * metodo abstracto de la clase Componente redefinido sin uso
	 */
	@Override
	public void serChocado() {
		
	}
	/**
	 * metodo abstracto de la clase Componente redefinido sin uso
	 */
	@Override
	public void serChocado(Componente c) {
		
		
	}
	/**
	 * redefinicion del metodo run el cual se encarga de destruir los malos que se encuentran desde 
	 * la posicion de mario  hasta 35 lugares mas
	 */
	@Override
	public void run() {
	
	int mariox=mario.obtenerPartida().obtenerPosicionActual().getX();
	
			for(int i=mariox;i<mariox+35;i++){
			
							for(int j=0;j<=13;j++){
			
					Componente c= mario.obtenerPartida().getComponente(i, j);
			
					if (c!=null){
						if (!c.destruido){
						if (c.obtenerPM())
							
						{  
							mario.obtenerPartida().aumentarPuntaje(c.obtenerPuntaje());
						c.destruirHilo();
						
							
						}}
							
				}
			}
		}
			try {
				hilo.sleep(200);
			} catch (InterruptedException e) {
			
				e.printStackTrace();
			}
			comp.setIcon(null);
			}
		
	
	/**
	 * metodo abstracto de la clase Componente redefinido sin uso
	 */
	@Override
	public void chocarMario() {
		
		
	}
	
	

	
}
